package com.ruoyi.system.projectapply.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.projectfiles.domain.TFileUpload;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 申报项目对象 t_project_apply
 *
 * @author ruoyi
 * @date 2024-05-02
 */
public class TProjectApply extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 产品id */
    private Long id;

    /** 申报机构id */
    @Excel(name = "申报机构id")
    private Long ownerId;

    /** 申报机构名称id */
    @Excel(name = "申报机构名称id")
    private String ownerName;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 文件数量 */
    @Excel(name = "文件数量")
    private Long fileNum;

    /** 申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyData;

    /** 项目申报说明 */
    @Excel(name = "项目申报说明")
    private String applyTips;

    /** 申报状态（0待确认  1进行中 2申报成功 3申报终止） */
    @Excel(name = "申报状态", readConverterExp = "0=待确认,1=进行中,2=申报成功,3=申报终止")
    private Long status;

    private List<TFileUpload> fileList;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setOwnerId(Long ownerId)
    {
        this.ownerId = ownerId;
    }

    public Long getOwnerId()
    {
        return ownerId;
    }
    public void setOwnerName(String ownerName)
    {
        this.ownerName = ownerName;
    }

    public String getOwnerName()
    {
        return ownerName;
    }
    public void setProjectName(String projectName)
    {
        this.projectName = projectName;
    }

    public String getProjectName()
    {
        return projectName;
    }
    public void setFileNum(Long fileNum)
    {
        this.fileNum = fileNum;
    }

    public Long getFileNum()
    {
        return fileNum;
    }
    public void setApplyData(Date applyData)
    {
        this.applyData = applyData;
    }

    public Date getApplyData()
    {
        return applyData;
    }
    public void setApplyTips(String applyTips)
    {
        this.applyTips = applyTips;
    }

    public String getApplyTips()
    {
        return applyTips;
    }
    public void setStatus(Long status)
    {
        this.status = status;
    }

    public Long getStatus()
    {
        return status;
    }

    public List<TFileUpload> getFileList() {return fileList;
    }

    public void setFileList(List<TFileUpload> fileList) {
        this.fileList = fileList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("ownerId", getOwnerId())
            .append("ownerName", getOwnerName())
            .append("projectName", getProjectName())
            .append("fileNum", getFileNum())
            .append("applyData", getApplyData())
            .append("applyTips", getApplyTips())
            .append("status", getStatus())
            .toString();
    }
}
